
/*
________________________________________________________________________________
Get retained earnings as the difference between profits and dividends, which
are allocated to individuals from the firm-level using ownership shares
*/


/*
Info on firm profits
*/

use syrtun vuosi tiliktul ehdosing using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til9905.dta", clear
destring vuosi, replace
sort vuosi
save "$data\99_temp\tiliktul9905.dta", replace
use syrtun vuosi tiliktul ehdosing using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2006.dta", clear
destring vuosi, replace
save "$data\99_temp\tiliktul06.dta", replace
use syrtun vuosi tiliktul ehdosing using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2007.dta", clear
destring vuosi, replace
save "$data\99_temp\tiliktul07.dta", replace
use syrtun vuosi tiliktul ehdosing using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2008.dta", clear
destring vuosi, replace
save "$data\99_temp\tiliktul08.dta", replace
use syrtun vuosi tiliktul ehdosing using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2009.dta", clear
destring vuosi, replace
save "$data\99_temp\tiliktul09.dta", replace
use syrtun vuosi tiliktul ehdosing using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2010.dta", clear
destring vuosi, replace
save "$data\99_temp\tiliktul10.dta", replace
use syrtun vuosi tiliktul ehdosing using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2011.dta", clear
destring vuosi, replace
save "$data\99_temp\tiliktul11.dta", replace
use syrtun vuosi tiliktul ehdosing using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2012.dta", clear
destring vuosi, replace
save "$data\99_temp\tiliktul12.dta", replace
use syrtun vuosi TilikTulos JaetPaatOsinkoYht using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2013_yty.dta", clear
rename TilikTulos tiliktul
rename JaetPaatOsinkoYht ehdosing
save "$data\99_temp\tiliktul13.dta", replace
use syrtun vuosi TilikTulos JaetPaatOsinkoYht using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2014_yty.dta", clear
rename TilikTulos tiliktul
rename JaetPaatOsinkoYht ehdosing
save "$data\99_temp\tiliktul14.dta", replace
use syrtun vuosi TilikTulos JaetPaatOsinkoYht using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2015_yty.dta", clear
rename TilikTulos tiliktul
rename JaetPaatOsinkoYht ehdosing
save "$data\99_temp\tiliktul15.dta", replace
use syrtun vuosi TilikTulos JaetPaatOsinkoYht using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2016_yty.dta", clear
rename TilikTulos tiliktul
rename JaetPaatOsinkoYht ehdosing
save "$data\99_temp\tiliktul16.dta", replace
use syrtun vuosi TilikTulos JaetPaatOsinkoYht using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til2017_yty.dta", clear
rename TilikTulos tiliktul
rename JaetPaatOsinkoYht ehdosing
save "$data\99_temp\tiliktul17.dta", replace
use syrtun vuosi Liiketulos JaetPaatOsinkoYht using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\firm_2018_fss.dta", clear
destring vuosi, replace
rename Liiketulos tiliktul
rename JaetPaatOsinkoYht ehdosing
save "$data\99_temp\tiliktul18.dta", replace
use syrtun vuosi tiliktul using "D:\ready-made\FIRM_FSS\Tilinpaatosaineisto\til9498.dta"
destring vuosi, replace
drop if vuosi<1997
preserve
use verovuosi osingonjako lukumaara syrtun using "D:\d37\custom-made\data_1996_2016_all_muok.dta", clear
rename verovuosi vuosi
keep if vuosi==1997 | vuosi==1998
drop if syrtun==""
keep syrtun vuosi osingonjako
rename osingonjako ehdosing
duplicates drop syrtun vuosi, force
save "$data\99_temp\divs_9798.dta", replace
restore
merge 1:1 syrtun vuosi using "$data\99_temp\divs_9798.dta"
keep if _merge==3
drop _merge
erase "$data\99_temp\divs_9798.dta"
append using "$data\99_temp\tiliktul9905.dta"
append using "$data\99_temp\tiliktul06.dta"
append using "$data\99_temp\tiliktul07.dta"
append using "$data\99_temp\tiliktul08.dta"
append using "$data\99_temp\tiliktul09.dta"
append using "$data\99_temp\tiliktul10.dta"
append using "$data\99_temp\tiliktul11.dta"
append using "$data\99_temp\tiliktul12.dta"
append using "$data\99_temp\tiliktul13.dta"
append using "$data\99_temp\tiliktul14.dta"
append using "$data\99_temp\tiliktul15.dta"
append using "$data\99_temp\tiliktul16.dta"
append using "$data\99_temp\tiliktul17.dta"
append using "$data\99_temp\tiliktul18.dta"
erase "$data\99_temp\tiliktul9905.dta"
erase "$data\99_temp\tiliktul06.dta"
erase "$data\99_temp\tiliktul07.dta"
erase "$data\99_temp\tiliktul08.dta"
erase "$data\99_temp\tiliktul09.dta"
erase "$data\99_temp\tiliktul10.dta"
erase "$data\99_temp\tiliktul11.dta"
erase "$data\99_temp\tiliktul12.dta"
erase "$data\99_temp\tiliktul13.dta"
erase "$data\99_temp\tiliktul14.dta"
erase "$data\99_temp\tiliktul15.dta"
erase "$data\99_temp\tiliktul16.dta"
erase "$data\99_temp\tiliktul17.dta"
erase "$data\99_temp\tiliktul18.dta"
duplicates drop syrtun vuosi, force
drop if tiliktul==. | ehdosing==.
save "$data\99_temp\temp_tiliktul.dta", replace

/*
Info on productive investments
*/

use "D:\d37\external\poistopaneeli.dta", clear

egen capital=rowtotal(phmenoloppu1 phmenoloppu2 phmenoloppu3 phmenoloppu4 phmenoloppu5 phmenoloppu6)

egen investments=rowtotal(phmenolis1 phmenolis2 phmenolis3 phmenolis4 phmenolis5 phmenolis6)

gen luonnly=luonnly_syrtun
forval i=1/15 {
bys astunnus_shnro (verovuosi): replace luonnly = luonnly[_n+`i'] if luonnly=="" & astunnus_shnro!=""
}
ren astunnus_shnro shnro
ren astunnus_syrtun syrtun
order syrtun shnro luonnly verovuosi capital investments 

keep syrtun shnro luonnly verovuosi capital investments 

drop if syrtun==""
drop shnro luonnly
rename verovuosi vuosi
egen long id = group(syrtun) // numerical id
order syrtun id
xtset id vuosi, yearly // defining as a panel
gen investments_alt = F.capital - capital
replace investments_alt=0 if investments_alt==.
drop if vuosi==. | vuosi<1997
drop id
save "$data\99_temp\temp_tuotinv.dta", replace

/*
Number of shares and dividends. Merge the two above.
*/

* 2006 - 2019 fine
use "W:\Inequality\2021analysis\Data\Omistusdata\flown_20032019_divs_owners_1st_attemp.dta", clear
bysort shnro vuosi: gen nr_of_firms = _N
egen NR_of_firms=max(nr_of_firms), by(shnro vuosi)
keep syrtun shnro vuosi NR_of_firms ownrshp
tab NR_of_firms
gen ie=1
gen ie_mltpl=0
replace ie_mltpl=1 if NR_of_firms>1
ren NR_of_firms nr_of_firms
label var nr_of_firms "Number of firms a person owns in a given year"
label var ie "Incorporated entrepreneur"
label var ie_mltpl "Incorporated entrepreneur who owns more than one firm"
keep if vuosi>2005
save "$data\99_temp\temp_flown.dta", replace

* Extend the IE info to early years, meaning years 1997-2005
use "D:\d37\custom-made\shareholder_panel_1997_2016_muok.dta" , clear
keep if verovuosi<2006
ren verovuosi vuosi
bysort shnro vuosi: gen nr_of_firms = _N
egen NR_of_firms=max(nr_of_firms), by(shnro vuosi)
ren syrtun_maktun syrtun
bysort syrtun vuosi: egen ttl_shares = total(osakkeidenlkm_t1)
gen ownrshp=osakkeidenlkm_t1/ttl_shares
keep syrtun shnro vuosi ownrshp
drop if ownrshp==.
gen yrtti=1

append using "$data\99_temp\temp_flown.dta"
replace yrtti=0 if yrtti==.
drop if shnro=="" | syrtun==""
sort shnro vuosi syrtun
erase "$data\99_temp\temp_flown.dta"
keep vuosi-ownrshp

* Merge the profit and investment data
merge m:1 syrtun vuosi using "$data\99_temp\temp_tiliktul.dta"
keep if _merge==3
drop _merge
merge m:1 syrtun vuosi using "$data\99_temp\temp_tuotinv.dta"
keep if _merge==3
drop _merge

erase "$data\99_temp\temp_tiliktul.dta"
erase "$data\99_temp\temp_tuotinv.dta"

/*
Calculating the change in accumulated retained earnings, firm-level
*/

* 1) Following "the Norway paper"
gen d_are_frmlvl = tiliktul - ehdosing
label var d_are_frmlvl "Firm-level change in accumulated retained earnings (profits-dividends)"
tabstat d_are_frmlvl, stat(count mean sd p50 min max)
* 2) Subtracting productive investments from the first one
rename investments prodinv1
rename investments_alt prodinv2
gen d_are_frmlvl_subtr_inv = d_are_frmlvl - prodinv2
label var d_are_frmlvl_subtr_inv "(profits-dividends-investments)"
tabstat d_are_frmlvl_subtr_inv, stat(count mean sd p50 min max)

/*
Assigning the firm-level numbers to individuals
*/

gen d_are1_0 = ownrshp*d_are_frmlvl
gen d_are2_0 = ownrshp*d_are_frmlvl_subtr_inv
bysort shnro vuosi: egen d_are_1 = total(d_are1_0)
bysort shnro vuosi: egen d_are_2 = total(d_are2_0)
collapse d_are_1 d_are_2, by(shnro vuosi)
save "$data\99_temp\temp_dare.dta", replace

/*
________________________________________________________________________________
Merge, label, save
*/

use "$data\01_main\folk_flown_merge.dta", clear
merge 1:1 shnro vuosi using "$data\99_temp\temp_dare.dta"
drop if _merge==2
drop _merge
erase "$data\99_temp\temp_dare.dta"

gen mkti_d_are_1=.
gen mkti_d_are_2=.
rename d_are_1 d_are_1_nom
rename d_are_2 d_are_2_nom
gen d_are_1=.
gen d_are_2=.
foreach var of varlist d_are_1 d_are_2 {
	replace `var' = `var'_nom / 0.8680 if vuosi==1995
	replace `var' = `var'_nom / 0.8730 if vuosi==1996
	replace `var' = `var'_nom / 0.8840 if vuosi==1997
	replace `var' = `var'_nom / 0.8960 if vuosi==1998
	replace `var' = `var'_nom / 0.9070 if vuosi==1999
	replace `var' = `var'_nom / 0.9340 if vuosi==2000
	replace `var' = `var'_nom / 0.9590 if vuosi==2001
	replace `var' = `var'_nom / 0.9780 if vuosi==2002
	replace `var' = `var'_nom / 0.9910 if vuosi==2003
	replace `var' = `var'_nom / 0.9920 if vuosi==2004
	replace `var' = `var'_nom if vuosi==2005
	replace `var' = `var'_nom / 1.0130 if vuosi==2006
	replace `var' = `var'_nom / 1.0290 if vuosi==2007
	replace `var' = `var'_nom / 1.0690 if vuosi==2008
	replace `var' = `var'_nom / 1.0870 if vuosi==2009
	replace `var' = `var'_nom / 1.1050 if vuosi==2010
	replace `var' = `var'_nom / 1.1420 if vuosi==2011
	replace `var' = `var'_nom / 1.1780 if vuosi==2012
	replace `var' = `var'_nom / 1.2037 if vuosi==2013
	replace `var' = `var'_nom / 1.2183 if vuosi==2014
	replace `var' = `var'_nom / 1.2164 if vuosi==2015
	replace `var' = `var'_nom / 1.2211 if vuosi==2016
	replace `var' = `var'_nom / 1.2313 if vuosi==2017
	replace `var' = `var'_nom / 1.2457 if vuosi==2018
	replace `var' = `var'_nom / 1.2599 if vuosi==2019
	*replace `var' = `var'_nom / 1.2647 if vuosi==2020
}
label var mkti_d_are_1 "Market income, adjusted (profits-dividens)"
label var mkti_d_are_2 "Market income, adjusted (profits-dividens-investments)"
label var has_d_are "1 if any retained earnings"
replace mkti_d_are_1=mkti+d_are_1
replace mkti_d_are_2=mkti+d_are_2
gen has_d_are=0
replace has_d_are=1 if mkti_d_are_1!=.
order shnro vuosi dspi mkti mkti_d_are_1 mkti_d_are_2 has_d_are
replace mkti_d_are_1=mkti if mkti_d_are_1==.
replace mkti_d_are_2=mkti if mkti_d_are_2==.
keep shnro-yrtti
sort shnro vuosi

save "$data\01_main\folk_flown_merge.dta", replace
clear